//添加到购物车的核心思路

//点击产品数据的时候获取这条数据,再把这条数据添加到当前的carts这个数组中就行了

//1.点击产品上的'加入购物车按钮',获取当前这条数据
//2.拿到数据之后,查找到这条数据,在当前的action中定义方法,接收
//3.加入到carts
export default {
    namespaced:true,
    state:{
        tag:"购物车模块store",
        carts:[],

    },
    mutations: {
       SET_CART(state,payload) {
        let id=payload.id;
        console.log(1)
        let target = state.carts.find(item => item.id == id)
        if(!target){
            let obj={
                id,
                title:payload.title,
                price:payload.price,
                count:1
            }
            state.carts.push(obj);
            console.log(state.carts)
        }else{
            target.count++
        }
       }
    },
    actions:{
        GET_PRODUCT(context,payload){
         
         context.commit('SET_CART',payload); 
           context.commit("Product/DECREMNT_INVENTORY",
           payload.id,{root:true})
        }
    },
    getters:{total(state){
    return state.carts.reduce((total,item)=>{
            return total+=item.count*item.price
        },0).toFixed(2)
   }},
   
}